package com.yh.util;

import com.yh.javabean.User;
import mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.util.List;

public class mybatisTest {
    public static void main(String[] args) {
//        SqlSessionFactory sqlSessionFactory=MyBatisUtil.getSqlSessionFactory();
//        SqlSession sqlSession=sqlSessionFactory.openSession(true);
//        List<User> users=sqlSession.selectList("selectAllUser");
//        for (User u:users){
//            System.out.println(u);
//        }
//        sqlSession.close();
        //1、创建SqlSessionFactory对象，也是单例模式的
        SqlSessionFactory factory = MyBatisUtil.getSqlSessionFactory();
        //2、创建SqlSession对象 true 自动提交事务 不写也没事 因为默认在sqlsession关闭时提交事务
        SqlSession session = factory.openSession(true);

        //3、使用mybatis提供的方法 获取指定接口的实现类(mapper代理对象)
        UserMapper mapper = session.getMapper(UserMapper.class);

        //4、调用对象方法执行sql返回结果
        List<User> users = mapper.selectAllUser();

        //5、打印测试
        for(User u:users){
            System.out.println(u);
        }
        //6、关闭资源
        session.close();
    }
}
